package org.dromara.system.mapper;

import org.apache.ibatis.annotations.MapKey;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.system.domain.SysUserRoom;

import java.util.List;
import java.util.Map;

/**
 * 用户与空间关联表 数据层
 *
 * @author Lion Li
 */
public interface SysUserRoomMapper extends BaseMapperPlus<SysUserRoom, SysUserRoom> {

    /**
     * 根据门店ID查询用户ID集合
     * @param roomId
     * @return
     */
    List<Long> selectUserIdsByRoomId(Long roomId);

    /**
     * 根据空间集合ID查询用户ID集合
     * @param roomIds
     * @return
     */
    List<Long> selectUserIdsByRoomIds(Long[] roomIds);

    /**
     *
     * 根据用户ID查询空间名称集合
     * @param userId
     * @return
     */
    List<String> selectRoomNamesByUserId(Long userId);

    /**
     *
     * 根据用户ID查询空间ID集合
     * @param userId
     * @return
     */
    Long[] selectRoomIdsByUserId(Long userId);


    /**
     * 根据用户ID查询空间集合
     * @param userId
     * @return
     */
    @MapKey("id")
    List<Map<String,Object>> selectRoomListByUserId(Long userId);

}
